var _includes = Array();

_includes["Menu"] = {dependencias:'jquery.fgmenu.js,jquery.fgmenu.css',cargado:false};
_includes["Checkbox"] = {dependencias:'ui.checkbox.js',cargado:false};
_includes["Tooltip"] = {dependencias:'jquery.tooltip.js',cargado:false};

UI= function()
{
    return {
            alert: function(texto, opciones)
            {
                    var opt = jQuery.extend({	title: 'Atencion',
                                                                            width: '325px',
                                                                            modal: true,
                                                                            resizable: false,
                                                                            buttons: {"Aceptar": function() {
                                                                                            $(this).dialog("close");}
                                                                            },
                                                                            dialogClass: 'dialogo'
                                                                    }, opciones);

                    try
                    {
                            if(texto.substring(0, 3)!= "<p>")
                            {
                                    texto= JS.html.create('p', texto);
                            }
                    }
                    catch(err)
                    {
                            //[dami]esto parece una negrada pero funca de diez
                            texto= JS.html.create('p', texto);
                    }

                    if(opciones&& opciones.destino)
                    {
                            $(JS.html.create('div', texto)).dialog(opt).bind( "dialogclose", function(event, ui) {
                                            JS.redirect(opciones.destino);
                            });
                    }
                    else
                            {
                                    $(JS.html.create('div', texto)).dialog(opt);
                            }
            },
            menu: function (selector,options) {

                if (!_includes["Menu"].cargado)
                {
                    JS.cargarDependencias(_includes["Menu"]);
                }
                setTimeout(function (){$(selector).menu(options)},500);
                return;
            },
            chekbox: function (selector,options) {

//                if (!_includes["Checkbox"].cargado)
//                {
//                    JS.cargarDependencias(_includes["Checkbox"]);
//                }
//                setTimeout(function (){$(selector).checkbox(options)},500);
                return;
            },
            tooltip: function (selector,options) {

                var opt = jQuery.extend({
                                            track: true,
                                            delay: 0,
                                            fixPNG: true,
                                            showURL: false,
                                            showBody: " - ",
                                            top: -35,
                                            left: 5
                                        }, options);


                if (!_includes["Tooltip"].cargado)
                {
                    JS.cargarDependencias(_includes["Tooltip"]);
                }
                setTimeout(function (){$(selector).tooltip(opt)},500);
                return;
            },
           habilitarLink: function(sSearch, fnAccion){
                $(sSearch).removeClass('ui-state-disabled');
                $(sSearch).unbind("click");
                if(fnAccion)
                {
                    $(sSearch).click(fnAccion);
                }
            },
            deshabilitarLink: function(sSearch){
                $(sSearch).addClass('ui-state-disabled');
                $(sSearch).unbind("click");
                $(sSearch).click( function(e){
                    e.preventDefault();
                });
            },
            setLoader: function(sSearch, opciones)
            {
                var opt = jQuery.extend( {sImgPath: '../css/ajax-loader.gif'}, opciones);

                var sTmpId= $(sSearch).attr('id')+ '_JS_ajax_loader';

                $(sSearch).before('<div class="JS-ajax-loader" id="'+ sTmpId +'"'+
                    'style="'+ opt.sWrapperStyle +'"><img src="'+ opt.sImgPath+'"'+
                    (!opt.sImageStyle? '': 'style="'+ opt.sImageStyle+ '"')+
                    '" /></img></div>');

                $('#'+ sTmpId).height($(sSearch).height());

                UI.centrar('#'+ sTmpId+ ' img');
                UI.ocultar(sSearch);
				
            },
            removeLoader: function(sSearch)
            {
                var sTmpId= $(sSearch).attr('id')+ '_JS_ajax_loader';

                UI.mostrar(sSearch);
                $('#'+ sTmpId).remove();
            },
            ocultar: function(nodo)
            {
                $(nodo).addClass("ui-helper-hidden");
                $(".ui-helper-hidden").hide();
            },
            mostrar: function(nodo)
            {
                $(nodo).removeClass("ui-helper-hidden").show();
            },
            centrar: function(sSelector)
            {
                $(sSelector).css('position', 'absolute').css('top','50%').css('left','50%').css('margin-top','-'+($(sSelector).height()/2+ 'px')).css('margin-left','-'+($(sSelector).width()/2+ 'px')).parent().css('position', 'relative').css('text-align', 'center');
            },
            setLoaderFB: function (pParam)
            {
                var opt = jQuery.extend({
                        image: './prog/frm/lib/facebox/src/loading.gif'
                }, pParam);
                
                jQuery.facebox(opt, 'my-groovy-style');
            },
            removeLoaderFB: function()
            {
                jQuery(document).trigger('close.facebox');
            }
	
	}
}();